#ifndef MAINWINDOWADAPTER_H
#define MAINWINDOWADAPTER_H



#include "qt_actioninvoker_adapter.h"
#include "qt_guieventdispatcher_adapter.h"

#include "../qt_graphicview.h"


using namespace qtgui;
using namespace actions;

#include "../ui/ui_main.h"

namespace qtgui
{
    /**
    *   Qt ui setup
    *      events, action setup
    */
    class MainWindowQT : public QMainWindow
    {
        Ui::MainWindow ui;
        QObjectActionInvokerAdapter invokerAdapter;			

	public:
        MainWindowQT(GuiEventDispatcher* const guieventdispatcher, ActionInvoker* const invoker,  QWidget *parent = 0);

        virtual ~MainWindowQT();

        QWidget* getWidget() { return ui.guieventdispatcher; }
		


    private:
        void setGuiEventDispatcher(GuiEventDispatcher* const guieventdispatcher);

		void qt_connectActions();
    };
}

#endif //MAINWINDOWADAPTER_H

